package com.robot.base.common.api;

import com.qihang.annotations.ApiFactory;
import com.robot.base.model.CommentBean;
import com.robot.base.model.CourseAllTypeBean;
import com.robot.base.model.CourseBean;
import com.robot.base.model.CourseHomeBean;
import com.robot.base.model.CourseInfoBean;
import com.robot.base.model.PageListBean;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import com.robot.base.model.BaseResponse;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.QueryMap;

@ApiFactory(value = GlBaseApi.class)
public interface CourseService {


    @GET("/app-api/app/course/homeData")
    Observable<BaseResponse<CourseHomeBean>> homeData();

    @GET("/app-api/app/course/getCourseInfo")
    Observable<BaseResponse<CourseInfoBean>> getCourseInfo(@QueryMap Map<String, Object> map);

    @GET("/app-api/app/course/allType")
    Observable<BaseResponse<List<CourseAllTypeBean>>> allType();

    @GET("/app-api/app/course/page")
    Observable<BaseResponse<PageListBean<CourseBean>>> page(@QueryMap Map<String, Object> map);

    @GET("/app-api/app/course/pageComment")
    Observable<BaseResponse<PageListBean<CommentBean>>> pageComment(@QueryMap Map<String, Object> map);

    @GET("/app-api/app/course/getMyCourse")
    Observable<BaseResponse<PageListBean<CourseBean>>> getMyCourse(@QueryMap Map<String, Object> map);


    @POST("/app-api/app/course/createCourseComment")
    Observable<BaseResponse<Object>> createCourseComment(@Body Map<String, Object> map);


}
